const express = require('express')
// 第三方包(第三方中间件). 作用: 帮我们实现跨域资源共享处理跨域问题
const cors = require('cors')
// 第三方包(第三方中间件). 作用: 处理formdata上传的数据(包括文件)
const formidableMiddleware = require('express-formidable')

const app = express()

// 自定义中间件: 用来处理跨域
// app.use(function (req, res, next) {
//   res.set('Access-Control-Allow-Origin', '*')
//   next()
// })
// 第三方中间, 用来处理跨域
app.use(cors())

app.use(
  formidableMiddleware({
    uploadDir: './my/dir', //配置上传到服务器的文件存储的路径
    keepExtensions: true, // 上传的文件存储时保持后缀名
  })
)

// 这个中间件是专门用来处理post请求的url编码的数据
app.use(express.urlencoded({ extended: false }))
// express.json 专门用来处理post请求的json格式数据
app.use(express.json())

app.post('/test', (req, res) => {
  console.log(req.files)
  console.log(req.fields)
  res.send('ok')
})

app.listen(5000, (error) => {
  if (error) console.log('失败')
  else console.log('成功')
})
